<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>json</title>
</head>
<script>
    /*
  JSON:
    1: 概念: JavaScript Object Notation  JavaScript对象表示法
        * json现在多用于存储和交换文本信息的语法
        * 进行数据的传输
        * JSON 比 XML    更小更快,更容易解析.
    2: 语法:
        1: 基本规则
          * 数据名称/值对中: json数据是由键值对构成的
              * 键用引号(单双都行)引起来,也可以不使用引号
              * 值的类型
                 1: 数字(整数或浮点数)
                 2: 字符串(在双引号中)
                 3: 逻辑值(true 或 false)
                 4: 数组(在方括号中)  {"persons":[{},{}]}
                 5: 对象(在花括号中)  {"persons":{"province":"陕西"...}}
                 6: null (了解即可,一般不会出现)
          * 数据由逗号分隔 : 多个键值对由逗号分隔
          * 花括号保存对象 : 使用{}定义json格式
          * 方括号保存对象 : []

         2: 获取数据
            1: json对象.键名
            2: json对象["键名"]
            3: 数组对象[索引]

    */

         //定义json的基本格式
       var aa= {"name": "张三", "age": "22"}
       //alert(aa)

    //获取name的值
    var a=aa.name
    alert(a )

    //嵌套格式  {}-->[]
    var bb= {"person":[
            {"name":"张三"},{"age":13},{"gender":"true"},
            {"name":"王五"}, {"age":18},{"gender":"false"},
            {"name":"李四"},{"age":23},{"gender":"true"}
                     ]
            }
    //alert(bb)
      //获取"王五"这个值
    var name1= bb.person[1].name //先用对象bb.person这个键;因为键的值对应的是一个数组,因此需要写上第几个值
   // alert(name1)

    //嵌套格式  [] -->{}
    var cc=[{"name":"张三"},{"age":13},{"gender":"true"},
            {"name":"王五"}, {"age":18},{"gender":"false"},
            {"name":"李四"},{"age":23},{"gender":"true"}
          ]
    //alert(cc)
       //获取李四的值
     // alert(cc[2].name);


</script>

<body>

</body>
</html>